#!coding=utf-8
import threading
import time

def worker():
    print("Worker started")
    # 模拟长时间运行的任务
    for i in range(3):
        print(f"Worker is working: {i+1}")
        time.sleep(1)
    print("Worker finished")

def timeout_handler():
    print("Timeout occurred, terminating worker")
    # 这里可以添加代码来终止或中断工作线程
    # 例如，可以设置一个事件来通知工作线程应该停止

# 创建一个工作线程
worker_thread = threading.Thread(target=worker)

# 启动工作线程
worker_thread.start()

# 设置一个定时器，5秒后执行timeout_handler函数
timeout_timer = threading.Timer(5, timeout_handler)

# 启动定时器
timeout_timer.start()

# 等待工作线程结束
worker_thread.join()

# 如果工作线程在超时时间内完成，取消定时器
timeout_timer.cancel()

print("Main thread is done")